#include <iostream>
#include <iomanip>
#include <queue>
#include <list>
using namespace std;

int main()
{
 //  list<int> v(3,12);
  queue<int,list<int> > d(*(new list<int>()) ); //explicit constructor
  //pass by reference
  cout<<"size():\t"<<d.size()<<endl;
  cout<<"empty():\t"<<d.empty()<<endl;
  cout<<endl;

  queue<int,list<int> > e(d); //synthesized copy constructor
  e.push(1212);
  cout<<"size():\t"<<e.size()<<endl;
  cout<<boolalpha<<"empty():\t"<<e.empty()<<endl;
  cout<<endl;
 
  return 0;
}
